您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

用于时变容量的连接的流速率适应

  • 申请号:CN200880130541.9 申请公布号: CN102106112B
  • 申请日: 2008-10-16 申请公布日: 2014-07-09
  • 申请(专利权)人: 专利代理机构: 北京市中咨律师事务所
  • 分类号:H04L12/20;H04L29/06

专利介绍

本发明公开了一种用于通过时变容量连接传输的自适应流数据的系统和方法。根据表征从流服务器到客户端的连接的测量结果,流服务器单独地对发送给相对客户端的信号的传输速率进行自适应。测量结果可以涉及诸如传输延迟、数据丢失率、以及在客户端接收器处的缓冲器的占用水平的特性。与流服务器相关联的流控制器从所选择的时间窗上获得的测量结果中导出指标以确定从服务器到每个激活的客户端的可允许的传输速率。涉及特定特性的指标可以包括在移动窗上的均值以及各个测量结果的短期和长期的趋势。流服务器处的适应性编码器对信号进行编码以满足可允许的传输速率。
1.一种从编码器(220)通过时变连接向解码器(240)发送数据流的方法,该方法包括:将所述编码器的当前编码速率初始化为标称编码速率;以及根据预定持续时间的所选时间窗(420)获得测量结果,所述测量结果表征所述时变连接,其特征在于:根据在所述所选时间窗期间将所述测量结果与时间相关联的线的斜率的函数,确定所述编码器的优选编码速率;以及在所述优选编码速率与所述当前编码速率不同的情况下,将所述当前编码速率设置为所述优选编码速率,并且根据所述优选编码速率来指示所述编码器(220)对信号进行编码;其中所述测量结果包括:表明将所述编码器连接到所述解码器的信道(260)的状态的信道测量结果;以及表明所述解码器的条件的解码器测量结果。
2.根据权利要求1所述的方法,其中:所述信道测量结果包括以下内容中的至少一个:所述编码器和所述解码器之间的传输延迟;以及数据丢失比率;以及所述解码器测量结果包括所述解码器之前的解码器缓冲器(238)的占用率。
3.根据权利要求2所述的方法,进一步包括根据所述数据丢失比率来确定第一编码速率。
4.根据权利要求1所述的方法,进一步包括:在所述优选编码速率与所述当前编码速率不同的情况下,选择与所述所选时间窗隔开预定的时间间隔的后续时间窗;否则,选择与所述所选时间窗重叠或邻近的后续时间窗。
5.根据权利要求3所述的方法,进一步包括将所述优选编码速率确定为所述第一编码速率和根据所述函数确定的第二编码速率中的较小者。
6.根据权利要求2所述的方法,其中所述线在所述所选时间窗内将所述传输延迟的值与各个时间量相关联,并且所述方法进一步包括:在所述所选时间窗内的时间间隔期间确定所述传输延迟的梯度(528);扩展所述函数以根据所述斜率和所述梯度来确定所述优选编码速率;根据所述数据丢失比率来确定新的编码速率;以及根据确定新的编码速率小于所述优选编码速率,更新所述优选编码速率从而等于所述新的编码速率。
7.根据权利要求5或6所述的方法,进一步包括,根据确定所述优选编码速率超过所述标称编码速率并且所述占用率超过预定缓冲器占用率门限,将所述优选编码速率减少至等于所述标称编码速率。
8.根据权利要求1至6中任一项所述的方法,其中通过将实时传输协议(RTP)分组从所述编码器沿着所述时变连接发送给所述解码器以及通过将实时传输控制协议(RTCP)分组从所述解码器通过控制信道发送给所述编码器来获得所述测量结果。
9.一种确定从数据流服务器通过时变连接传输给客户端设备的信号的适应性编码速率的方法,该方法包括以下步骤:确定所述连接的当前编码速率;获得在第一时间量和第二时间量之间的时间窗上的传输延迟测量结果;获得所述时间窗上的数据丢失比率测量结果;确定在所述时间窗内将所述传输延迟测量结果与各个时间量相关联的回归线的斜率;确定所述第二时间量直接之前的所选择的传输延迟测量结果的梯度;根据所述斜率和所述梯度确定第一暂时性编码速率;根据所述数据丢失比率测量结果确定第二暂时性编码速率;以及选择所述第一暂时性编码速率和所述第二暂时性编码速率中的较小者来作为优选的编码速率。
10.根据权利要求9所述的方法,进一步包括以下步骤:获得与所述客户端设备相关联的缓冲器占用率的测量结果;以及其中所述优选的编码速率超过标称编码速率并且所述占用率超过预定的缓冲器占用率门限,将所述优选的编码速率减小到等于所述标称编码速率。
11.根据权利要求9至10中任一项所述的方法,其中所述第一暂时性编码速率由所述当前编码速率乘以根据预定函数确定的第一编码系数E*来确定:E*=Γ(α,β),其中α是所述回归线的所述斜率,并且β是所述梯度。
12.根据权利要求9至10中任一项所述的方法,进一步包括以下步骤:将表示为θ的所述数据丢失比率测量结果,与预定的数据丢失比率接受区间的下界θmin和上界θmax进行比较;其中θ>θmax时,将第二编码系数E**确定为E**=(1-θ),其中θ<θmin时,将所述第二编码系数E**确定为E**=χ>1,其中χ是设计参数;以及将所述当前编码速率乘以所述第二编码系数E**以确定所述第二暂时性编码速率。
13.一种用于数据流的系统,包括流服务器,具有:至少一个处理器;存储器设备;信号源;用于对由所述信号源产生的信号进行编码的适应性编码器;其特征在于,所述流服务器进一步包括流控制器,所述流控制器被配置为:从多个客户端设备中的客户端设备(160)接收上行控制分组;在一系列时间窗上从所述上行控制分组提取测量结果,所述测量结果涉及:所述流服务器(120)和所述客户端设备(160)之间的通信信道(260)的条件;以及所述每个客户端设备的条件;在每个所述时间窗期间,确定将所述测量结果与时间相关联的回归线的斜率;基于所述斜率,确定用于所述客户端设备(160)的优选编码速率;以及根据确定所述优选编码速率与当前编码速率不同,指示所述编码器(220)根据所述优选编码速率对信号进行编码。
14.根据权利要求13所述的系统,其中所述流控制器进一步被配置为:根据一种类型的测量结果确定第一编码速率;根据另一类型的测量结果确定第二编码速率;以及将所述第一编码速率和所述第二编码速率中的较小者选择作为所述优选编码速率。
15.根据权利要求13至14中任一项所述的系统,进一步包括:耦合到所述流服务器的源报告器(228),用于制定发送给所述多个客户端设备的下行控制分组;以及所述客户端设备(160)内的接收端报告器(242),用于制定通过控制信道(270)发送给所述流控制器(246)的所述上行控制分组。
16.根据权利要求13所述的系统,进一步包括与所述每个客户端相关联的解码器缓冲器(238),其中所述上行控制分组包括所述解码器缓冲器的占用率的指示。
17.根据权利要求16所述的系统,其中:通过以下内容来表明所述网络条件:从所述流服务器(120)到所述接收器(226)的传输延迟;以及数据丢失比率;以及由所述解码器缓冲器(238)的所述占用率所表明的所述每个客户端设备的所述条件。相关申请本国际申请要求LABONTE,Francis等人的美国专利申请12/180,697“用于时变容量的连接的流速率适应(Flow-Ratexa0Adaptationxa0forxa0aConnectionxa0ofxa0Time-Varyingxa0Capacity)”和12/180,704“通过时变传输媒介的数据流(Dataxa0Streamingxa0Throughxa0Time-Varyingxa0Transportxa0Media)”的优先权,这两个申请在2008年7月28日提交,并通过参考的方式将其结合于此。技术领域
本发明涉及从源到多个接收端(sink)的数据通信,其中根据从源到各个接收端的路径条件,源可以自适应其到各个接收端的流速率。
背景技术
在数据流系统中,服务器可以与多个接收端进行通信。一般来说,从与服务器相关联的数据源到各个数据接收端的路径包括从源到共享网络中第一交换节点的第一区间,通过共享网络从第一交换节点到共享网络的第二交换节点的交换路径,和从第二交换节点到各个接收端的第二区间。根据共享网络的负载条件和传输媒介的物理条件,路径能够支持的最大流速率会随着时间变化。任意路径片段可以由多个连接共享,其中可以给连接指定不同的优先级标识。如果连接承载容忍延迟的数据,例如计算机文件,则需要保持所传输数据的完整性,随着路径条件的波动,则使用已知的点对点协议,其中该协议依靠对丢失数据或者察觉到要丢失的数据进行重传。如果连接承载对延迟敏感的数据,例如实时视频信号,在这种情况下数据重传是不可取的,极其重要的是信号源或者与信号源相关联的信号编码器根据各个连接所察觉到的容量来适应信号内容。因此需要用于实时连接状态评估和信号内容适配的响应手段以确保在连接状态随时间变化时保持服务质量。
发明内容
本发明提供用于根据从源到接收端的路径条件来控制从源到接收端的数据的流速率的方法和装置。根据一个方面,本发明提供了一种从编码器通过时变连接向解码器的数据流的方法。该方法包括以下步骤:获得表征所述连接的测量结果;根据所述测量结果估计所述连接的传送率变化;确定对与传送率变化相兼容的所述编码器的当前编码速率的调整以获得适当的编码速率;以及根据所述适当的编码速率来指示所述编码器对信号进行编码。起初为连接分配标称编码速率,其中可以根据编码器的分类来协商或确定该标称编码速率。测量结果可以包括性能特性,例如在所述编码器和所述解码器之间的传送延迟、数据丢失率、或者解码器的接收缓冲器的占用率。优选地,在预定持续时间的时间窗上获得测量结果。可以通过标称编码速率乘以第一编码系数来更新编码速率,其中根据从测量结果中获得的第一指标来确定第一编码系数。可以根据第一指标的预定函数来确定第一编码系数。第一指标可以被选择作为时间窗上测量结果的均值。或者,可以通过标称编码速率乘以第二编码系数来更新编码速率,其中根据基于所述时间窗期间的测量结果趋势的第二指标来确定第二编码系数。编码系数可以通过用其当前值乘以根据第二指标的预定函数确定的系数来更新。测量结果趋势可以基于时间窗期间上测量结果相对于时间的回归线的斜率。测量结果趋势还可以基于回归线斜率和时间窗内短周期上的测量结果的梯度。根据另一方面,本发明提供一种确定从数据流服务器通过时变连接传输到客户端设备的信号的可适应的编码速率的方法。该方法包括以下步骤:确定所述连接的当前编码速率;获得在第一时间量和第二时间量间的时间窗上的传送延迟测量结果;以及获得所述时间窗上的数据丢失比率测量结果。于是可以确定在所述时间窗内所述传送延迟测量结果相对于各时间量的回归线,并且回归线的斜率可以用于指示测量结果的趋势。还确定紧接着所述第二时间量的所选择的传送延迟测量结果的梯度。根据所述斜率和所述梯度可以确定第一暂时性编码速率并且根据所述数据丢失比率测量结果可以确定第二暂时性编码速率。然后,可以选择所述第一编码速率和所述第二编码速率中的较小者以作为优选的编码速率,从而满足对传送延迟和数据丢失的更迫切的要求。该方法进一步包括获得与所述客户端设备相关联的缓冲器占用率的测量结果的步骤。如果满足传送延迟和数据丢失性能要求的优选编码速率超过了标称编码速率并且占用率超过预定的缓冲器占用率门限,为了避免缓冲器溢出,将所述优选的编码速率减小到等于所述标称编码速率。第一暂时性编码速率可以由所述当前编码速率乘以根据预定函数确定的第一编码系数E*来确定:E*=Γ(α,β),其中α是回归线的斜率,并且β是梯度。该方法进一步将表示为θ的所述数据丢失比率测量结果,与预定的数据丢失比率接受区间的下界θmin和上界θmax进行比较。如果θ>θmax,将第二编码系数E**确定为E**=(1-θ)。如果θ<θmin,将第二编码系数E**确定为E**=χ>1,其中χ是设计参数。于是,可以将当前编码速率乘以所述第二编码系数E**以确定所述第二编码速率。根据另一方面,本发明提供一种用于数据流的系统。该系统包括与多个客户端进行通信的流服务器,其中每个客户端包括:解码器、数据缓冲器和接收端(sink)报告器(reporter)。流服务器包括:信号源;用于对由信号源所产生的信号进行编码的可适应编码器;用于制定发送给多个客户端的下行控制分组的源报告器(reporter);以及从所述多个客户端接收上行控制分组并确定用于所述多个客户端的各编码系数的流控制器。每个编码系数确定发送给各客户端的信号的编码速率。与特定客户端相关联的接收端报告器制定发送给流控制器的上行控制分组。流控制器使用通过在流服务器和特定客户端之间的连接交换的下行控制分组和相应的上行控制分组来确定连接的当前条件。从源报告器发送给特定客户端的下行控制分组包括分组标识符。响应于特定下行控制分组,由特定客户端的接收端报告器发送的相应上行控制分组包括分组标识符。上行控制分组还可以包括与特定客户端相关联的数据缓冲器的占用率的指示。流控制器处理特定客户端的上行控制分组以确定从流服务器到特定客户端的传输延迟和下行控制分组的丢失率的指示。根据另一方面,本发明提供一种从编码器通过时变连接向解码器发送数据流的方法。该方法包括以下步骤:将编码系数与用于确定编码器输出的流速率的编码器相关联;定义连接的性能指标和具有下界和上界的性能指标的接受区间;获得以当前编码系数在时间窗上连接的一组性能测量结果;根据该组测量结果确定连接的指标的当前值;以及根据接受间隔和指标的当前值将编码系数调整到优选的编码系数。如果指标的当前值小于接受区间的下界,当前编码系数乘以第一因数以产生优选的编码系数。如果指标的当前值超过上界,当前编码系数乘以第二因数以产生优选的编码系数。第一因数超过1而第二因数小于1。优选地,第一因数和第二因数的积小于1。如果指标的当前值在接受区间内,当前编码系数保持不变。第一因数可以确定为指标的当前值和之间的差的函数。第二因数可以确定为指标的当前值和上界之间的差的函数。指标可以确定为时间窗期间内传输延迟的均值、时间窗期间内数据丢失的均值、或者在时间窗结束时所测量的解码器缓冲器的占用率的指示,其中解码器缓冲器持有通过连接接收的数据。该方法进一步包括,如果优选的编码系数明显不同于当前的编码系数,则指示编码器根据优选的编码系数和标称编码速率对信号进行编码的步骤。根据进一步的方面,基于对连接的多个性能特性的测量,本发明提供一种从编码器通过时变连接向解码器发送数据流的方法。该方法包括以下步骤:将编码系数与连接相关联,其中编码系数确定编码器输出的流速率;将多个性能特性与连接相关联;以及定义与多个性能特性一一对应的多个性能指标。在当前的编码系数上,可以在时间窗上获得连接的多组性能测量结果,其中每一组性能测量结果对应于多个性能特性中的一个。使用相应组的测量结果来确定每个性能指标的当前值以产生一组性能指标的当前值。从而根据每个性能指标的当前值来确定优选的编码系数。该方法进一步通过比较多个性能指标的当前值与各接受区间来调整编码系数。定义一组接受区间,其中每个区间对应于多个性能指标中的一个。每个接受区间由各自的下界和各自的上界来定义。当该组性能指标的当前值中的每个元素小于相应接受区间的下界时,当前的编码系数乘以大于1的第一因数以产生优选的编码系数。当该组性能指标的当前值中的至少一个元素超出相应接受区间的上界时,当前的编码系数乘以小于1的第二因数以产生优选的编码系数。第一因数超过1并且第二因数小于1。为了使编码系数以较慢的幅度增加并以相对快的幅度减小,可以选择第一因数和第二因数的积小于1。多个性能特性可以包括:从编码器到解码器的传输延迟、数据丢失、和持有通过连接所接收的数据的解码器缓冲器的占用率。多个性能指标可以包括:在时间窗期间内传输延迟的均值;在时间窗期间内数据丢失的均值;以及在时间窗期间内解码器缓冲器占用率的值。通过在编码器和解码器之间控制数据的交换来获得多组性能测量结果。数据交换可以基于使用实时传输协议(RTP)和实时传输控制协议(RTCP)。根据另一方面,本发明提供一种确定从数据流服务器通过时变连接发送到客户端设备的信号的适应性编码速率的方法。该方法包括以下步骤:确定连接的当前编码速率;获得在第一时间量和第二时间量之间包括W个测量结果的时间窗上的连接的特定特性的测量结果;以及从测量结果中确定特定特性的指标μ。如果μ在具有下界μ1和上界μ2的预定接受区间中,当前编码速率不需要改变。否则,如果μ超过了接受区间的上界μ2,当前编码速率乘以因数χ2<1,或者如果μ低于接受区间的下界μ1,当前编码速率乘以因数χ1>1。如果特定特性是沿着连接的传输延迟,则根据以下步骤确定指标:获得传输延迟的测量结果σ;通过增加测量结果σ和减去环形阵列V中当前索引处的条目来更新总和∑,其中环形阵列具有存储特定特性之前测量结果的W>1个条目;以及将测量结果σ存储在环形阵列中的当前索引处。表示测量结果的累积量的计数器增加1,并且当前索引通过增加1并模W来更新,也就是,当索引到达值W时,将索引复位为0。使用索引模W便于存储最近的W个测量结果并且计数器的目的是为了隔开连续的时间窗,其中在该时间窗期间内确定指标。因此,只有当计数器等于或者超过门限P*时,使用用作指标μ的总和∑来确定进行编码速率调整的需要。使用总和∑而不是均值∑/W的目的是减小计算强度。将下界μ1确定为可接受的传输延迟乘以W的下界,并且将上界μ2确定为可接受的传输延迟乘以W的上界。在当前的编码速率的任意调整之后,将计数器复位为0。选择门限P*足够大,从而在调整当前编码速率的任意两个连续步骤之间的时间间隔大于预定的最小时间间隔。可以将因数χ1确定为函数(μ1-∑),并将系数χ2确定为函数(∑-μ2)。如果特定特性是数据丢失率,指标μ是在时间窗上确定的数据丢失率θ。下界μ1和上界μ2>μ1是可接受的数据丢失率的边界。当θ小于μ1时将因数χ1确定为预定的乘数χ>1,并在θ>μ2时将因数χ2确定为(1-θ)。
附图说明
通过参照示例性的附图来进一步描述本发明的实施方式。图1说明了根据本发明实施方式的结合用于时变容量的连接的流速率自适应系统的网络;图2说明了根据本发明实施方式的包括通过可变容量的连接与解码器连接的编码器的系统,其中编码器速率与连接的状态相适应;图3说明了根据本发明实施方式的用于存储表征连接的所选的测量结果的与图2的编码器相关联的环形缓冲器;图4说明了根据本发明实施方式的在图2系统中的编码器处接收的连接测量结果,其中测量结果在不相交的或重叠的时间窗上进行分析;图5是说明根据本发明实施方式的基于时间窗内测量结果变化来确定编码系数的方法的流程图;图6说明了根据本发明的实施方式的时间窗内连续测量结果的示例性回归线,其中在图5的方法中使用回归线的斜率以确定编码速率的优选值;图7说明了在本发明实施方式中使用的具有正斜率和负斜率的另一组示例性回归线;图8举例说明在用于解释图5的方法的产生负梯度和正斜率的回归线的时间窗上的测量结果;图9举例说明在用于解释图5的方法的产生正梯度和负斜率的回归线的时间窗上的测量结果;图10说明了根据本发明实施方式的图5的方法,其中编码系数的缩减发生在根据在窗结束时由线性回归斜率和测量结果梯度所定义范围所确定的离散步骤中;图11说明了根据本发明实施方式的图5的方法,其中编码系数的增长发生在根据在窗结束时由线性回归斜率和测量结果梯度所定义范围所确定的离散步骤中;图12是说明根据本发明实施方式的使用实时传输协议(RTP)和实时控制传输协议(RTCP)获得连接测量结果的步骤的流程图;图13是说明根据本发明实施方式的基于由编码器发送的RTP分组和从解码器接收的RTCP分组确定连接性能测量结果的处理的流程图;图14是表明根据本发明实施方式的确定连接指标和相应的编码系数的步骤的流程图;图15说明了根据本发明实施方式的处理在不相交的或者重叠的时间窗上获得的用于确定编码系数的测量结果的可替代方法;图16说明了根据本发明实施方式的用于在重叠的时间窗上计算测量结果的移动平均值的方法;图17说明了根据本发明实施方式的基于将连接指标与预定边界相比较来确定优选编码系数的方法;图18是说明根据本发明实施方式的图17方法的基本步骤的流程图;图19是提供根据本发明实施方式的图17方法步骤细节的流程图,其中进一步包括使计算强度最小化的步骤;图20说明了根据两个指标的当前值的用于调整编码系数的图17所描述的过程的扩展;图21说明了根据三个指标的当前值的用于调整编码系数的图17所描述的过程的扩展;图22说明了用于解释本发明的实施方式的分组丢失比率相对于由流服务器传送信号的编码速率与连接传送率的比率之间的变化。
具体实施方式
术语编码流速率:编码信号的比特率可能随时间波动,并且这里将编码信号的最大比特率称为流速率。自适应编码器:自适应编码器是能够将信号编码到预定流速率范围内的特定流速率的设备。该编码努力让编码信号保真度最大。标称流速率(Nominalxa0flowxa0rate):这里将在客户端和流服务器之间协商的流速率,或者由流服务器基于客户端设备的知识自动确定的流速率称为标称流速率。编码系数:由E表示的编码系数是比例因数,其与标称流速率相乘以确定与在流服务器和客户端之间连接的当前状态相匹配的优选流速率。连接传送率(transmittance):这里将在不破坏预设性能目标情况下的从流服务器到客户端的连接所保持的最大流速率称为连接传送率。性能特性:这里将性能特性定义为可测量的连接属性,例如,传输延迟变动,数据丢失比例,信号失真等。标量(Scalar)测量结果:仅涉及一个连接属性的连接测量结果是标量测量结果。矢量测量结果:多个同时期的连接测量结果组成矢量测量结果。统计量:统计量是从一组数据采样中得到的值(例如,平均值)。指标(Metric):指标是电信网络中路径或者连接的质量的测量。指标可以涉及路径中的路径或者连接的连接属性,例如延迟、可靠性、容量等的。标量指标:这里将涉及一个连接属性的指标称为标量指标。由多个标量测量结果确定标量指标。矢量指标:这里将涉及至少两个连接属性的指标称为矢量指标。由多个矢量测量结果确定矢量指标。接受区间:这里将在预定的下限和预定的上限之间的,被认为是指示可接受的路径或者连接性能的指标范围称为接受区间。下行(downstream)控制分组:从流服务器向客户端发送的控制分组是下行控制分组。上行(upstream)控制分组:从客户端向流服务器发送的控制分组是上行控制分组。梯度:通常,将涉及两个变量的连续函数的斜率当做梯度。在采样函数的情况下,通过确定少量采样的斜率来估计梯度。这里,梯度是在包括少量采样的周期上确定的测量采样的斜率。回归线:划过一组数据并根据一些标准(例如,使数据偏离直线的均方和最小)确定的直线是回归线。如果数据分布满足某些条件,回归线的斜率可以可靠地指示数据的趋势。实时传输协议(RTP):RTP定义了用于在国际互联网上传送音频和视频的标准分组格式(由国际互联网工程任务组(IETF),RFCxa03550定义)。实时传输控制协议(RTCP):RTCP提供用于RTP流的带外控制信息,并在流会话中周期性地用于传送控制分组。RTCP的基本功能是提供连接质量的反馈。图1说明了用于数据流的系统,其中流服务器计算设备120(也称为流服务器120),通过共享网络180(例如,国际互联网)将数据传送给客户端设备160(也称为客户端160)。客户端160包括:处理器和计算机可读媒介,其通过有线访问媒介150或者无线访问媒介152经基站140与网络180连接,其中基站140可以通过有线或无线媒介与网络180相连。在优选的实施方式中,服务器120使用现有的协议与客户端160交换控制数据。例如,流服务器120可以利用实时传输协议(RTP)向客户端160发送控制数据,并且客户端可以使用实时传输控制协议(RTCP)向流服务器发送控制数据。其它协议可以设计用于连接质量控制。根据本发明,客户端与流服务器协商数据编码速率,并且流服务器可以根据流服务器120和客户端之间连接的状态变化来调整编码速率。特别是,流服务器120根据协商的标称流速率(比特速率)和从流服务器120到客户端160的连接的各自状态给客户端160分配各自的编码速率。流服务器还可以识别客户端的设备类型并据此确定标称流速率。图2说明了从流服务器120到客户端160的单一连接的实例。流服务器120包括通过信道206与适应性编码器220连接的信号源204。适应性编码器220根据标称流速率和由流控制器246确定的编码系数对来自源204的信号进行编码。流服务器120通过可能具有时变容量的信道260与客户端160连接。客户端160包括接收器226,其中接收器226检测信息信号(例如,视频信号)并将所检测的信号发送给解码器240,其中解码器240可将所检测的信号组织成适于用户280的格式。缓冲器238可以与解码器240相关联以保持数据一小段时间。所检测的信号也可以包括发送给接收端报告器242的控制分组。接收端报告器可以处理从源报告器224接收的控制分组并将控制分组中的特定测量结果和应答通过控制信道270发送给流控制器246。由于连接260的时变容量,及其重要的是流控制器246确定对时变信道260传送率的精确估计并计算适当的编码系数E。适应性编码器220根据分配给客户端的标称编码速率和编码系数的当前值对信号进行编码。包括存储在计算机可读媒介中的计算机可读指令的流控制器246确定可允许的总体流速率(比特速率)或者选择性地调整信息内容以保持信号的某些质量。在视频信号的例子中,编码器可以修改帧速率、每帧的内容、或者其两者。流控制器246使用通过在服务器120和客户端160之间控制分组的交换所获得的测量结果。包括存储在计算机可读媒介中的计算机可读指令的源报告器228制定要发送给客户端160的下行控制分组(在图中没有给出)。包括存储在计算机可读媒介中的计算机可读指令的、与每个客户端160相关联的接收端报告器242,制定要发送给流控制器246的上行控制分组(在图中没有给出)。流控制器246使用上行控制分组和通过在流服务器和客户端160之间的连接交换的相应下行控制分组,来确定连接的当前状态和用于客户端160适当的各自编码系数。每个编码系数确定用于发送给各客户端的信号的编码速率。从源报告器228发送到特定客户端160的特定下行控制分组包括:下行控制分组标识符和其上传送下行分组的瞬时时间的指示符。响应于特定下行控制分组的,由专用客户端160的接收端报告器242发送的相应上行控制分组返回下行控制分组标识符并指示特定客户端接收到特定下行控制分组的时间。流控制器可以基于在预定宽度W的时间窗内所接收的测量结果计算编码系数E。宽度W可以利用时间区间来定义,例如几个毫秒,或者多个所获得的测量结果,例如,最近的128个测量结果。在下文中,利用许多测量结果的实例来表示时间窗宽度。流服务器120包括:至少一个处理器(在图中没有给出)和具有在其上存储计算机可读指令的计算机可读存储媒介,例如,计算机可读存储媒介包括非易失性存储器设备,DVD,CD-ROM或者软盘。计算机可读指令由至少一个处理器执行以使适应性编码器220、源报告器228、以及流控制器246执行下文中所描述的功能。图3说明了在由流控制器246所保持的环形缓冲器320中存储的测量结果。为了清楚起见,在所说明的示例中的环形缓冲器仅包括在时间量tj到tj+7期间所获得的8个测量结果342,其中(j+7)为当前的观测时间量。环形缓冲器可以保持大量的记录v。记录可以包括单一的测量结果(标量测量结果)或者连同相应时间指示符的一组同时发生的测量结果(矢量测量结果)。索引j的新记录重写索引(j-v)的之前的记录。因此,环形缓冲器320保留了最近的v个测量结果(标量或矢量测量结果)。一些测量结果,例如,与解码器240相关联的缓冲器238的占用率,可以从由客户端160接收的上行控制分组中提取。此外,通过比较将下行控制分组发送给客户端160的时间量和服务器120从客户端160接收相应的上行控制分组的时间量,流控制器246可以确定传送延迟。通过比较发送给客户端160的下行控制分组的序号和从客户端160接收的上行控制分组中提取的序号。可以检测分组丢失(数据丢失)。将丢失分组数量和下行控制分组数量的比定义为分组丢失率,在下文中用θ表示。环形缓冲器320中的每个记录包括:(1)下行控制分组的序列号340(用j,j+1,j+2,...等表示),(2)在服务器120处接收指示相同记录的序列号340的上行控制分组的时间量342(用tj,tj+1等表示);(3)包括在上行控制分组中的测量结果344,例如,缓冲器238的占用率。保持足够的序列号340能够在合理的范围内任意宽度的时间窗上计算分组丢失率。保持下行控制分组的发送时间和相应上行控制分组的接收时间342能够计算传输延迟。因此,表征连接特性的测量结果可以包括:在流控制器246处计算的诸如传输延迟和分组丢失率的测量结果,以及从上行控制分组直接读取的测量结果。时间窗可以限制为包括控制分组的最大预定数量或者预定持续时间。如通过参考图19所介绍的,可以使用两个条件,并用更严格的条件来定义时间窗。图4说明了从在流控制器246处接收的控制分组提取的连续的测量结果。在时间窗结束时计算表征时变信道的指标。在图4的示例中,每个窗包括8个测量结果。指标可以包括诸如延迟、数据丢失、解码器240处的缓冲器占用率、以及通过分析解码器的输出所确定的信号质量的几个属性中的一些或全部。测量结果可以是涉及诸如数据丢失比例的一个连接特性的标量,或者是包括诸如传输延迟、数据丢失、和与连接相关联的缓冲器占用率的多个连接特性的矢量。在当前窗上的测量结果数据的分析结果可以确定后续时间窗的选择。如果对窗上的测量结果的分析导致修改编码速率,也就是,修改编码系数E,则通过有效的时间间隔将后续窗与当前窗隔隔开。否则,后续窗可以紧邻当前窗;后续窗也可以是与当前窗重叠的移动窗。在图4的示例中,在窗420的最后测量结果之后确定的连接的指标可以导致更新编码系数。在窗240A结束时所确定的指标导致更新用于当前连接的编码系数E。因此,新窗240B直接跟在窗240A之后。在窗240B结束时所确定的指标也导致更新编码系数,并且因此窗240C直接跟在窗240B之后。在窗240C结束时所确定的指标导致更新编码系数,并且因此窗240D直接跟在窗240C之后。在窗240D结束时所确定的指标没有改变编码系数。因此,后续窗240E与窗240D重叠。在窗240E结束时所确定的指标没有改变编码系数。同样地,在重叠窗240F结束时所确定的指标没有改变编码系数。在重叠窗240G结束时所确定的指标导致修改编码系数。因此,新窗240H直接跟在窗240G之后。在窗240H结束时所确定的指标导致修改编码系数并且后续的窗240I直接跟在后面。以标记为I,J,K,L,和M的测量结果作为结束的重叠窗(移动窗)240I,240J,240K,240L和240M中没有一个以修改编码系数作为结束。在重叠窗240N结束时所确定的指标导致修改编码系数并且新窗(在图中没有给出)的直接跟随。图5说明了用于确定编码系数的优选的当前值的基本步骤。在步骤520中,将编码系数E设为等于1.0,也就是,编码速率是当建立连接时所确定的标称编码速率。需要说明的是,编码器当然是以根据编码信号的性质变化的速率产生数据。然而,编码系数E促成编码器独立地修改其输出流速率而不考虑编码信号的变化(比特率的波动)。在步骤520中还将环形缓冲器320(图3)的索引初始化为0(或者初始化为不超过缓冲器长度的任意预设值)。在步骤522中,流控制器246获得由接收端报告器242发送的控制数据,从控制分组提取连接测量结果,并将测量结果存储在环形缓冲器的“索引”的地址中,之后在步骤524中将索引加1。如果地址索引达到W,将地址索引复位为0。如果步骤526确定索引值小于窗宽度W,重新回到步骤522以接收和处理新的测量结果(标量测量结果)或者一组同时发生的测量结果(矢量测量结果)。可以将窗宽度表示为多个缓冲器记录,其中每个记录保持有标量测量结果或矢量测量结果。如果步骤526确定索引值至少等于窗宽度W,步骤528在窗结束之前的短期内确定表示为β的梯度。如果梯度β的幅度小于第一预定门限ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="49"/>不更新编码系数并且重新回到步骤522。否则,步骤532利用线性回归技术确定最近W个测量结果的趋势。在步骤540中,将回归线的斜率(表示为α)的幅度与第二预定门限ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="31"/>相比较。如果α的幅度(表示为|α|)小于ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="52"/>重新回到步骤522以从流控制器处所接收的新控制分组获得标量测量结果或矢量测量结果并进行存储。否则,如果ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="179"/>步骤542根据预定的函数Γ(α,β)确定新的编码系数E并将索引复位为0。步骤546确保将E值限制为高于预定的最小值Emin并低于预定的最大值Emax。当测量结果指示高的连接传送率时,如果函数Γ(α,β)允许E值连续地增加,则E值可能超过预设的设计上限Emax。步骤546于是将E值减小为Emax(E←min(E,Emax))。当测量结果指示低的连接传送率时,如果函数Γ(α,β)允许E值连续地下降,则将编码速率减小到低于特定值可能导致E值降到预设的设计下限Emin。步骤546于是将E值增加为Emin(E←max(E,Emin))。需要说明的是,利用作为从β和α的幅度的较小值中导出的连接传送率中的可忽略的变量,步骤542在相当大的时间周期上不会被激活。然而,在环形缓冲器320中,新的测量结果覆盖之前已经处理的测量结果,并且步骤532中,在最近的W个标量测量结果(或者W个矢量测量结果)上确定回归线的斜率α。由与流控制器246相关联的处理器根据在存储媒介中存储的计算机可读指令来执行图5中的步骤。图6说明了连接特性的连续测量结果,例如,延迟、数据丢失比例、客户端160处的缓冲器占用率。回归线620的斜率是正的,表示连接条件恶化(连接传送率降低),并且因此,需要通过减小编码速率,也就是减小编码系数E,来减小流速率。图7说明了在客户端160处的连接特性的连续测量结果。回归线620的斜率从正值变为负值,表示在提高连接条件后的恶化。图8说明了图4的窗420上的8个标量测量结果。从在时间量tj,tj+1,...,tj+7处获得的所选择的用于使偏离测量结果的方差和最小化的回归线620具有斜率α=1.64。从最后两个测量结果所确定的梯度β是负的。从预定函数Γ(α,β)确定E值。在图10中以表格形式阐述了示例性函数Γ(α,β)。图9说明了窗上的8个标量测量结果,其中回归线具有斜率α=-1.64。从最后两个测量结果所确定的梯度β是正的。从预定函数Γ(α,β)确定E值。图10说明了用于回归线的斜率α的正值的示例性函数Γ(α,β)。如图所示,如果梯度β小于1.0并且α≥0,或者如果梯度β大于或等于1但α小于0.1,编码系数E保持不变。图8的测量结果产生正的回归线斜率α和负的梯度β。从而,根据图10的函数Γ(α,β),编码系数E保持不变。同样地,图11说明了用于α的负值的示例性函数Γ(α,β)。如果β≥(-1.2)或者如果β<(-1.2)但是α>(-0.2),E值保持不变。图9的测量结果产生负的回归线斜率α和正的梯度β。从而,根据图11的函数Γ(α,β),编码系数E保持不变。包括图12A和图12B的图12说明了在流服务器120和客户端160之间使用已知协议交换控制分组的过程。图12A说明了将RTP(实时传输协议)控制分组发送给客户端160的过程,并且图12B说明了从客户端160接收RTCP(实时控制传输协议)分组并在流控制器246中处理RTCP分组内容的过程。图12A的过程从步骤1220开始,其中源报告器228(图2)准备RTP控制分组。在步骤1222中,确定编码系数的当前值。在步骤1224中,记录RTP的序号和传送RTP分组的时间。在步骤1226中,将RTP分组发送给各客户端160。图12B的过程从步骤1240开始,其中流控制器246(图2)从接收端报告器242接收RTCP分组。在步骤1242,从RTCP分组中提取测量结果数据。在步骤1244中,确定当前时间量和编码系数的前一次更新的时间量之间的差别。如果时间差小于预定的最小更新间隔,重新回到步骤1240以考虑等待或现有的RTCP分组。否则,如果时间差等于或者超过最小更新间隔,步骤1246确定新的可允许的编码速率。步骤1248确定是否需要更新编码系数。如果需要,确定新的编码系数。否则重新返回到步骤1240。在步骤1260中,更新编码系数并发送给编码器220,并且流控制器246(图2)准备考虑新的RTCP分组(步骤1240)。图12的步骤(在图13和图14中作详细描述)由前述的与流控制器246相关联的处理器根据存储在存储媒介中的计算机可读指令来执行的。图13详细说明了图12的步骤1242。在步骤1320中,检测接收到的RTCP分组以确定其是否包括来自接收端报告器242的“接收器报告”。如果RTCP分组不包括接收器报告,执行步骤1340以确定RTCP分组是否包括缓冲器占用率报告。如果RTCP分组包括接收器报告,步骤1322确定作为RTCP分组到达的当前时间和传送相应RTP分组的时间之间的时间差的传送延迟。相应的RTP分组是具有序号的RTP分组,所述序号与RTCP接收器报告的“扩展所接收的最高序号”字段中所指示的号码相匹配。在步骤1326中,将最小的传送延迟确定为:在步骤1322中所计算的传送延迟和用于连接的最小传送延迟的前面的值的较小者。将最小传送延迟初始化为任意大的值。保留最小的传送延迟以在将来用作测量有波动的传送延迟的基准。图14是描述确定连接指标和相应的编码系数的步骤的概况的流程图。在步骤1420中,使用任意已知的分析方法来计算在时间窗上获得的性能测量结果的回归线的斜率。还确定了靠近时间窗结束处的测量结果的梯度。在步骤1422中,还确定了在时间窗上的数据丢失的统计量。在步骤1424中,参照上述的图10和图11,确定基于回归线斜率和梯度的编码系数的优选值(表示为E*)。在步骤1426中,根据在步骤1422中确定的数据丢失的统计量来确定编码系数的优选值(表示为E**)。在步骤1428中,将新的编码系数E选为E*和E**中的较小者。应当注意的是,在有利的连接的条件下,可以允许优选的编码系数超过1.0,也就是说,编码器可以产生即刻具有超过为连接指定的标称流速率的流速率(比特率)的流。刚刚确定的编码系数E可以根据放置于连接的客户终端的缓冲器的占用率来进行进一步的修改。如果没有获得缓冲器占用率的数据,则步骤1432将过程直接转到步骤1260(图12)。否则,步骤1434确定在时间窗上获得的缓冲器占用率测量结果的统计量是否超过了预定的门限。如果超过了,并且如果步骤1428所确定的编码系数超过1.0,则在步骤1440中将优选的编码系数减少到1,并且该过程返回到图12的步骤1260。需要说明的是,步骤1434和1440服从示例性的规则。可以设计出管理缓冲器占用率统计量的使用的其它规则。图15说明了根据另一实施方式的处理连接测量结果的方法,其中在连续的或者重叠的窗上的测量结果的均值用于确定编码系数E的新值。基于在时间窗1520上获得的测量结果的均值和相应于特定连接特性的统计量,例如传送延迟或者数据丢失,与特定连接特性的预定的可接受的基准值进行比较。当统计量以一个显著的量超过基准值时,减小编码系数,并且从而,将编码速率减小到标称流速率以下。如果统计量以一个显著的量低于基准值时,增加编码系数。从而,可以定义对应于特定特性的两个边界μ1和μ2,μ1<μ2。编码系数在统计量低于μ1时增加并在统计量超过μ2时减小。间距(μ2-μ1)的选择是关键的。非常小的间距可能导致在低值和高值之间不必要的快速摆动。非常大的间距可能导致对显著的连接条件改变的响应慢,甚至没有响应。图16说明了定义为标量测量结果的平均值、以任意单位表示、并在连续的重叠窗上获得的移动平均值,其中每个窗包括8个测量结果。最初4个重叠窗的均值16.25、17.0、16.75和17.75展现出缓慢的变化,并且编码系数的当前值可以保持不变。然而,如图16所示,在多个测量结果后确定的均值21.5可以触发编码系数的修改和对适应性编码器220的参数的调整。参照之前的图4所示出的,在时间窗结束时所确定的指标确定对随后的时间窗的选择。图17说明了调节编码系数E为时变连接260的指标μ的当前值的方法。对于给定的连接条件,指标μ的值随着编码系数E的增加而增加。在图17中分别以线1720和1740表示的两个边界μ1和μ2定义了可接受的连接性能的范围。图17说明了指标μ依据用于连接传送率的5个值的编码系数E的示例,其中5个值表示为η1、η2、η3、η4和η5,其中η1>η2>η3>η4>η5。开始时,将E设为等于1,从而编码器以分配给在考虑中的客户的标称编码速率进行工作。选择标称编码速率使得连接性能在正常连接条件下是可接受的,其中传送率等于η1。在图17中,连接指标μ的采样值用索引(0)至(9)来表示。考虑这样的情况,其中当E=1.0时,传送率为其最大值η1,并且当前指标具有在μ1和μ2之间的值{索引(0)}。随后连接条件恶化,并且连接的传送率下降至值η2,其导致高于边界μ2{索引(1)}的指标μ的新值。流控制器246将编码系数E减少e1的值,导致在区间(μ1,μ2)内指标μ的新值{索引(2)}。连接条件继续恶化,并且连接传送率下降至η4<η2,导致高于区间(μ1,μ2)的指标μ的新值{索引(3)}。响应于增加的指标,流控制器246将编码系数减少e3。指标μ的值下降至{索引(4)}但仍高于μ2。在两次进一步将编码系数减少e4和e5之后,导致由索引(5)和(6)表示的值,编码系数大约为0.56并且指标μ下降至区间(μ1,μ2)之中的值{索引(6)}。于是提高了连接的条件,从而在编码系数E的相同值0.56处,指标μ下降至区间(μ1,μ2)下方的值{索引(7)}。流控制器246通过e7增加编码系数,从而导致仍处于μ1下方的μ{索引(8)}的增加值。流控制器246进一步通过e8将编码系数增加到0.75的值,导致μ的增加值{索引(9)}在区间(μ1,μ2)中。编码系数E保持在0.75的值直到连接传送率的进一步改变造成指标的变化。图18是图17的过程的主要步骤的最初从步骤1820开始的流程图。在步骤1820中,参照上述的图15和图16,由在窗上获得的测量结果来确定指标μ的新值。在步骤1824中,新值与上边界μ2进行比较,并且如果μ>μ2,在步骤1860中通过用因数χ2<1乘以E的当前值来减小编码系数,并且过程返回步骤1820。如果μ<μ2,步骤1826比较指标μ的新值与可接受区间(μ1,μ2)的下边界μ1。如果μ≥μ1,可以确定的是指标的新值在可接受区间(μ1,μ2)中,并且过程返回步骤1820以处理指标μ的新值。如果μ<μ1,在步骤1840中通过用因数χ1>1乘以E的当前值来更新编码系数E,并且过程返回到步骤1820。因数χ1和χ2(χ1>1,χ2<1)可以分别基于差(μ1-μ)和(μ2-μ)。如果积(χ1×χ2)小于1,当μ<μ1时,E值以相对较小的步长增加,并且当μ>μ2时,E值以相对较大的步长减小。图19更详细地描述了图17的过程。将指标μ选择为在包括预定数量的测量结果的窗上获得的测量结果的均值。为了降低流控制器246的计算强度,将均值替换为在窗上测量结果的和∑并将接受区间(μ1,μ2)替换为区间(∑1,∑2),其中∑1=w×μ1,∑2=w×μ2,w是在每个时间窗上测量结果的数量。在步骤1920中,将E值初始化为1,也就是,最初要求编码器以分配给在考虑中的客户端的标称编码速率进行工作。将长度w的环形阵列V的所有条目(代表图3的环形缓冲器320)设置为等于0,并且阵列V中w个条目的和∑初始化为等于0。整数“索引”跟踪阵列V中的当前位置并且整数“周期”跟踪编码系数更新的最近的实例。在步骤1920中将两个整数(索引和周期)中的每一个初始化为0。在步骤1922中,从在流控制器246处所接收的控制分组中提取测量结果σ。在步骤1924中,通过减去阵列V的位置“索引”中的条目和增加新的测量结果σ,来更新与指标μ成比例的总和∑。阵列V是环形的,从而,在第一个时间窗后,在位置索引中减去的条目表示在当前窗之间获得的测量结果。在第一个时间窗后,第一窗上的总和∑正确地表示乘以w的指标μ。在步骤1926中,将新的测量结果σ写入到阵列V的位置“索引”中。在步骤1928中,整数周期增加1,并且环形阵列V的当前位置索引增加1并模w,也就是,当索引值达到w时,将索引复位为0。在步骤1930中,如果确定从直接在前的编码系数更新实例以来的测量结果的数量小于预定界限P*,该过程返回到步骤1922以处理新的测量结果。否则该过程进入到步骤1932。当到达步骤1932时,环形阵列V具有w个最近的测量结果,并且在时间的当前量和修改编码系数E的直接在前的时间量之间的时间间隔至少等于门限P*。选择P*的值大到足以避免过分的更新速率,并且小到足以对连接状态的变换产生响应。P*的值是由流控制器246的设计者设置的设计参数。步骤1932将当前的总和∑与可接受的总和区间(∑1,∑2)的上界∑2进行比较。如果∑>∑2,在步骤1940中通过用系数χ2<1乘以E的当前值来减小E,在步骤1950中将整数周期复位为等于0,并且该过程返回步骤1922。如果∑≤∑2,步骤1934将当前的总和∑与可接受的总和区间(∑1,∑2)的下界∑1进行比较。如果∑<∑1,在步骤1942中通过用系数χ1>1乘以E的当前值以减小E,在步骤1950中将整数周期复位为等于0,并且该过程返回步骤1922。如果步骤1934确定∑≥∑1,可以推断出当前的总和∑在可接受的总和区间(∑1,∑2)中。该过程返回步骤1922并且E值保持不变。图19的步骤由前述的与流控制器246相关联的处理器根据存储在各计算机可读存储媒介上的计算机可读指令来执行。多个连接指标图17中考虑的指标μ是表示连接性能(例如,传送延迟、数据丢失比例、或者在解码器240处的缓冲器占用率的多个方面中之一的标量。从而,边界μ1和μ2也是标量。用于修改编码系数的准则可以基于涉及利用修改编码系数的系数χ1和χ2(图18和图19)的一个性能方面的连接指标μ,其中该准则是确定指标的当前值相对于相同指标的可接受范围的偏离程度的函数。考虑到连接性能的多个方面,可以将相应的指标归一化并且可以将合成指标定义为利用据此所选择的边界μ1和μ2的多个归一化指标的加权和。例如,可以关于考虑一些标称延迟值(例如,考虑中的用于连接的所估计的最小延迟)来归一化延迟指标,从而成为无量纲(dimensionless)的。本质上是无量纲的数据丢失指标可以用作归一化的指标,并且缓冲器占用率指标(也是无量纲的)关于各缓冲器的容量进行归一化。例如,考虑分别在20毫秒、0.02和200的延迟、数据丢失比例和缓冲器占用率的同期测量结果。可以根据10毫秒的标称(基准)延迟将20毫秒的延迟指标归一化为2.0的值,并且根据250个数据单位的缓冲器容量可以将200个数据单位的缓冲器占用率归一化为0.8。合成指标μ*可以定义为μ*=μdelay+a×μloss+b×μbuffer,其中μdelay、μloss和μbuffer分别表示归一化的基于延迟的指标,数据丢失指标和归一化的缓冲器占用率指标。分别选择参数a和b为80.0和2.5,则将用于上述示例的指标的合成指标μ*确定为μ*=2.0+80.0×0.02+2.5×0.8=5.6。考虑连接性能多个方面的更全面的方法得出单独的指标并且指定用于每个性能方面的单独的接受区间。当一组当前指标中的任意当前指标高于其接受区间时,编码系数E减小。在随后的时间窗中确定的新指标受到由于编码系数E变化而导致的编码速率变化以及连接传送率的任意变化的影响。编码系数E可以再次减小,直到没有一个新指标高于其各自的接受区间为止。相反,仅当所有当前指标低于它们各自的接受区间时,才可能增加编码系数E。当产生的新指标中的至少一个在其接受区间中并且没有一个保持的新指标高于其接受区间时,E保持不变。图20说明了如上所述的根据两个指标μ(1)和(2)的当前值调整编码系数E的方法。如在图20中所示,μ(1)向上增加而μ(2)向下增加。用于第一指标μ(1)的接受区间2020(这里将其称为第一接受区间)具有下界μ1(1)和上界μ2(1)。用于第二指标μ(2)的接受区间2040(这里将其称为第二接受区间)具有下界μ1(2)和上界μ2(2)。附图标记2022、2024、2026和2028指示对应于编码系数值E1、E2、E3和E4的第一指标的值,其中E1234。附图标记2042、2044、2046和2048指示对应于编码系数值E1、E2、E3和E4的第二指标的值。例如,利用在值E4设置的编码系数,确定第一指标的值(2028)高于各自的上界μ2(1),同时确定第二指标的值(2048)在第二接受区间(μ1(2),μ2(2))内。由于两个指标中一个的值高于相应的接受上界,因此通过将编码系数的当前值乘以系数χ2<1以降低编码系数。编码器220相应地调整编码流速率,并且从调整流速率之后获得的新测量结果中进行确定用于两个指标的新值。在将编码系数减小到值E34时,将第一指标的值(2026)确定为在第一接受区间(μ1(1),μ2(1))内,同时将第二指标的值(2046)确定为正好低于第二接受区间(μ1(2),μ2(2))的下界μ1(2)。编码系数不会发生进一步的变化,除非(1)连接状态的恶化导致指标中的一个超过其可接受的上界,在这种情况下编码系数进一步减小,或者(2)连接状态提高,从而第一和第二指标的值低于它们各自可接受的下界,从而提供了增加编码系数的机会。利用在值E1设置的编码系数,确定第一指标μ(1)的值(2022)低于下界μ1(1),同时确定第二指标的值(2042)低于下界μ1(2)。编码系数增加到值E2。从而,第二指标μ(2)的值增加到位于可接受区间(μ1(2),μ2(2))内但接近上限μ2(2)的值(2044)。第一指标μ(1)增加到仍低于下界μ1(1)的值(2024)。由于连接传送率没有变化,编码系数的进一步增加可以将第二指标μ2(2)增加到高于上界μ2(2)的值。编码系数不会发生进一步的变化,直到连接状态显著变化以提供增加编码系数的机会或者强制减小编码系数为止。图21说明了根据三个指标μ(1),μ(2)和μ(3)当前值的编码系数调整的方法。为了清楚起见,将分别用于第一指标μ(1),第二指标μ(2)和第三指标的三个可接受区间2102、2122和2142画成非重叠的条纹。然而,可以理解的是,可以分别处理表示连接不同特性的三个指标。从而,分别用于μ(1),μ(2)和μ(3)的可接受区间2102、2122和2142的位置不会反映出他们的相对值。第一可接受区间2102具有下界μ1(1)和上界μ2(1)。用于第二指标μ(2)的第二可接受区间2122具有下界μ1(2)和上界μ2(2)。用于第三指标μ(3)的第三可接受区间2142具有下界μ1(3)和上界μ2(3)。附图标记2104、2106、2108、2110、2114、2116和2118指示对应于E1至E7的编码系数值的第一指标μ(1)的值,其中Ejj+1,1≤j≤6。相似地,附图标记2124、2126、2128、2130、2132、2134、2136和2138指示对应于E1至E7的第二指标μ(2)的值,并且附图标记2144、2146、2148、2150、2152、2154、2156和2158指示对应于E1至E7的第三指标μ(3)的值。考虑适应性编码器220根据标称速率和编码系数E1已经调整了其编码参数的情况。在特定窗结束时确定的指标矢量具有由2104、2124、2144指示的用于μ(1),μ(2)和μ(3)的指标值。值2104、2124、2144低于它们各自可接受区间的下界。因此,逐步增加编码系数直到从每一个步骤后获得的测量结果所确定的三个指标{μ(1),μ(2),μ(3)}的任意一个充分接近各个可接受区域的上界。在图21的示例中,在适应性编码器220调整其流速率以符合编码系数E2后,由2126指示的指标μ(2)的值满足该条件。对于适应性编码器220根据标称速率和编码系数E3已经调整其编码参数的情况,由2108、2128和2148所指示的指标μ(1),μ(2),μ(3)的值低于它们各自的可接受区间。将编码系数增加到值E4,其中在该值E4上指标μ(1)的值(附图标记2110)接近其可接受区间的上界,同时指标μ(2)和μ(3)的值(2130和2150)在它们各自的可接受区间中。对于适应性编码器220根据标称速率和编码系数E7已经调整其编码参数的情况,由2138指示的指标μ(2)的值超过可接受区间2122的上界。将编码系数减小至值E67。指标μ(1)和μ(3)减少到低于它们各自可接受区间的值2116和2156,相反指标μ(2)减少到在其可接受区间2122中的值2136。从而,编码系数在值E6处保持不变。连接传送率的减小导致指标随后增加到分别由2114、2134和2154指示的值。随着指标μ(2)超过其上界,编码系数减小至E5的值。图22说明了作为由流服务器120通过连接向客户端160传送的信号的峰值编码速率(峰值流速率)的函数的分组丢失比率θ。如之前所定义的,连接传送率是由从流服务器到客户端的连接所持有的不会干扰预设性能目标的峰值流速率。在图22的示例中,仅根据分组丢失性能来定义传送率。图22说明了相对于连接的传送率归一化的峰值编码速率和分组丢失比率之间的示例性关系。峰值编码速率是已知的。然而,连接的传送率可以随时间变化并且可以是未知的。如果峰值编码速率高于传送率,那么分组丢失比率θ大于0并且峰值编码速率与传送率的比值可以确定为1/(1-θ),并且编码速率通过系数(1-θ)进行减小以消除分组丢失。分组丢失比率可以在如上所述的所选择的时间窗上进行测量。线2210说明了根据峰值编码速率与当前传送率的比率ρ的分组丢失比率θ。对于ρ≤1.0,θ的值为0。当ρ=1.5时,θ=0.33,并且当ρ=2.0时,θ=0.5。如果θ的测量值为0,那么峰值编码速率与传送率的比率可以为大于0并小于1.0的任意值,并且难以精确地确定编码速率的适当增加(也就是,编码系数E的增加),其中编码速率的适当增加会提高信号保真度并避免分组丢失。编码速率可以逐步增加直到测量了分组丢失(θ>0)并且然后可以相应地纠正编码速率为止。当θ的测量值相当小时,例如为0.001的级别,编码速率纠正可能就没有必要了。由分组丢失比率的下界θmin(线2220)和上界θmax(线2203)定义的可接受区间有助于避免对θ的小值的没有必要的处理。θmin和θmax的值是设计参数。可以认为θmin为值0.001和θmax为值0.002是足够的。还提供了在其上存储有指令的诸如DVD、CD-ROM、软盘、或者存储器(例如,非易失性存储器)的计算机可读媒介,当指令由处理器执行时执行上述方法的步骤。尽管已经详细描述了本发明的特定实施方式,可以理解的是,所描述的实施方式是说明性的而且并非是限制性的。在下列权利要求的范围内,并在不偏离本发明范围的更宽泛的方面的情况下,可以对附图中所示出的和说明书中所描述的实施方式进行各种变化和修改。